SqlTools v5.0

List of features

  • Simple and efficient design to let you spend more time on the important parts of your code
  • Modular Database Connection System run by SqlManager
  • Change Databases on the fly with almost no change to code if using SqlManager
  • Create your own file/database drivers to work within SqlManager
  • Premade Drivers for popular Databases (MySql, SqlServer, Access, SqlLite, Generic via ODBC)
  • Export result set to XML or DataTable
  • Convert images to blobs and revert blobs to images (popular image types: jpg, bmp, png, etc)
  • Chained select methods (SqlManager.Select(...).From(...).Where(...).Go(...);
  • Chained update methods (SqlManager.Update(...).Set(...).Where(...).Go(...);
  • Chained delete methods (SqlManager.Delete(...).Where(...).Go(...);
  • Chained insert methods (SqlManager.InsertInto(...).Values(...).Go(...);
  • Tracks queries, actions, and errors and sends them to built in EventHandlers
  • ASP.NET version works under medium trust
  • .NET Forms version has built in support for communicating with common Form Controls
  • .NET 2.0 and .NET 4.0 versions for both ASP.NET and Forms

Examples of what's to come...


using nTools.SqlTools;
using nTools.SqlTools.Core;
using nTools.SqlTools.Drivers;

using SqlUtils = nTools.SqlTools.Utilities;
...
    string _host;
    string _database;
    string _userName;
    string _password;
    ...
        SqlManager.Load(new MySql());
        SqlManager.Connect(_host, _userName, _password, _database);

        /**
         * Query Database using Chain method:
         *      
         *      SELECT    `name`,`title`, b.id AS `col3`
         *      FROM      `table1`, `table2` AS `b`
         *      WHERE     table1.id = table2.id
         *      ORDER BY  `name`
         *      DESC
         *      LIMIT     10;
         *
         **/

        SqlManager
            .Select
            (
                "name",
                "title", 
                SqlUtils.As("b.id", "col3")
            )
            .From
            (
                "table1", 
                SqlUtils.Alias("table2", "b")
            )
            .Where
            (
                SqlUtils.Equals("table1.id", "table2.id")
            )
            .Go
            (
                SqlUtils.OrderBy("name"),
                SqlUtils.Desc(),
                SqlUtils.Limit(10)
            );

...